home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX 6.2 Development Libraries
/
SGI IRIX 6.2 Development Libraries.iso
/
dist
/
complib.idb
/
usr
/
share
/
catman
/
p_man
/
cat3
/
complib
/
dlaed4.z
/
dlaed4
Wrap
Text File
|
1996-03-14
|
3KB
|
133 lines
DDDDLLLLAAAAEEEEDDDD4444((((3333FFFF)))) DDDDLLLLAAAAEEEEDDDD4444((((3333FFFF))))
NNNNAAAAMMMMEEEE
DLAED4 - subroutine computes the I-th updated eigenvalue of a symmetric
rank-one modification to a diagonal matrix whose elements are given in
the array d, and that D(i) < D(j) for i < j and that RHO > 0
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
SUBROUTINE DLAED4( N, I, D, Z, DELTA, RHO, DLAM, INFO )
INTEGER I, INFO, N
DOUBLE PRECISION DLAM, RHO
DOUBLE PRECISION D( * ), DELTA( * ), Z( * )
PPPPUUUURRRRPPPPOOOOSSSSEEEE
This subroutine computes the I-th updated eigenvalue of a symmetric
rank-one modification to a diagonal matrix whose elements are given in
the array d, and that no loss in generality. The rank-one modified
system is thus
diag( D ) + RHO * Z * Z_transpose.
where we assume the Euclidean norm of Z is 1.
The method consists of approximating the rational functions in the
secular equation by simpler interpolating rational functions.
AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
N (input) INTEGER
The length of all arrays.
I (input) INTEGER
The index of the eigenvalue to be computed. 1 <= I <= N.
D (input) DOUBLE PRECISION array, dimension (N)
The original eigenvalues. It is assumed that they are in order,
D(I) < D(J) for I < J.
Z (input) DOUBLE PRECISION array, dimension (N)
The components of the updating vector.
DELTA (output) DOUBLE PRECISION array, dimension (N)
If N .ne. 1, DELTA contains (D(j) - lambda_I) in its j-th
component. If N = 1, then DELTA(1) = 1. The vector DELTA
contains the information necessary to construct the eigenvectors.
RHO (input) DOUBLE PRECISION
The scalar in the symmetric updating formula.
PPPPaaaaggggeeee 1111
DDDDLLLLAAAAEEEEDDDD4444((((3333FFFF)))) DDDDLLLLAAAAEEEEDDDD4444((((3333FFFF))))
DLAM (output) DOUBLE PRECISION
The computed lambda_I, the I-th updated eigenvalue.
INFO (output) INTEGER
= 0: successful exit
> 0: if INFO = 1, the updating process failed.
PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
Logical variable ORGATI (origin-at-i?) is used for distinguishing whether
D(i) or D(i+1) is treated as the origin.
ORGATI = .true. origin at i ORGATI = .false. origin at i+1
Logical variable SWTCH3 (switch-for-3-poles?) is for noting if we are
working with THREE poles!
MAXIT is the maximum number of iterations allowed for each eigenvalue.
PPPPaaaaggggeeee 2222